home *** CD-ROM | disk | FTP | other *** search
/ Eagles Nest BBS 7 / Eagles_Nest_Mac_Collection_Disc_7.TOAST / Internet⁄Other Nets / IntStartKit / InterSLIP Docs.rsrc / TEXT_133.txt < prev    next >
Text File  |  1993-09-02  |  8KB  |  290 lines

  1. Scripting
  2.  
  3. Dialing Scripts
  4.  
  5. InterSLIP includes a script interpreter compatible with the one used by AppleTalk Remote Access (ARA), with a few extensions. You can use ARA dialing scripts with InterSLIP, although they turn off any compression in the modem. This results in the fastest response time for interactive traffic but may not result in the greatest overall transfer rate for applications such as FTP or Gopher. 
  6.  
  7. To use an ARA dialing script:
  8.  
  9. 1. Place a copy of the ARA dialing script in the Dialing Scripts subfolder of the InterSLIP Folder.
  10.  
  11.  
  12. Connection Control Language (CCL) Quick Reference
  13.  
  14. This section provides a quick overview of CCL.  For detailed information, consult the AppleTalk Remote Access Modem Developer's Guide.
  15.  
  16. A script in CCL is a text file consisting of a series of statements, one to a line.  There are three kinds of statement: comments, labels, and commands.
  17.  
  18. A comment begins with an exclamation mark (!) and continues until the end of the line.  Comments are ignored by InterSLIP.
  19.  
  20. A label begins with an at sign (@) and continues until the end of the line.  A label denotes a point in the script that can be the target of a jump from another part of the script.  There are two kinds of labels:
  21.  
  22.     Symbolic labels: @ followed by a word
  23.     Numeric labels:  @label followed by a number
  24.  
  25. A command starts with a word (the command name) and is followed by arguments on the rest of the line.
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36. Configuration Parameters
  37.  
  38. Each script has a set of ten configuration parameters that can be used by the script and substituted into other strings with the notation ^n, where n is a digit from 0 to 9.  The parameters are set up as follows:
  39.  
  40.     0    The text from the input stream that triggered the most recent match
  41.     1    The phone number to dial
  42.     2    0 if the speaker should be off while dialing, 1 if it should be on
  43.     3    T if tone dialing, P if pulse
  44.     4    The modem initialization string specified in InterSLIP Setup
  45.     5    The gateway user name
  46.     6    The gateway password
  47.     7    The IP address specified in InterSLIP Setup, if any
  48.     8    Y if RFC 1144 header compression has been specified in InterSLIP Setup
  49.     9    The MTU size specified in InterSLIP Setup
  50.  
  51.  
  52. Command Descriptions
  53.  
  54. Serial Port Control
  55.  
  56. DTRset
  57.             Asserts Data Terminal Ready.
  58.  
  59. DTRclear
  60.             Negates Data Terminal Ready.
  61.  
  62. SBreak
  63.             Sends a break.
  64.  
  65. SerReset speed, parity, databits, stopbits
  66.             Sets the speed and data format.  Parity can be 0 for no parity, 1 for odd parity,    and 2
  67.             for even parity.
  68.  
  69. SetSpeed speed
  70.             Sets the speed.
  71.  
  72. Write string
  73.             Sends the context of the string out the serial port.
  74.  
  75. CommunicatingAt speed
  76.             Sets the logical speed of communication, even if the serial port is locked to a higher
  77.             speed.
  78.  
  79.  
  80. HSReset f1 f2 f3 f4 f5 f6
  81.         Sets the handshaking mode; generally, all arguments are zero except for f2,
  82.         which turns on hardware handshaking if set to 1.
  83.  
  84.  
  85. Flow of Control within the Script
  86.  
  87. Jump label
  88.         Jumps to the specified label, which can be a number or the name of a symbolic label.
  89.  
  90. Pause n
  91.         Pauses for n 60ths of a second.
  92.  
  93. Exit code
  94.         Exits the script.  An exit code of 0 denotes success; any nonzero numeric value
  95.         denotes failure.
  96.  
  97. IfAnswer label
  98.         If the script is executing in answer mode (currently not used by InterSLIP), jump to
  99.         the specified label.
  100.  
  101. IfOriginate label
  102.         If the script is executing in originate mode, jump to the specified label.
  103.  
  104. IfHangup label
  105.         If the script is executing in hangup mode, jump to the specified label.
  106.  
  107. IfStr n label string
  108.         If configuration parameter n is equal to the string, jump to the specified label.
  109.  
  110.  
  111. Iteration
  112.  
  113. SetTries n
  114.         Sets the current "try" counter to n.
  115.  
  116. IncTries
  117.         Increments the "try" counter by 1.
  118.  
  119. DecTries
  120.         Decrements the "try" counter by 1.
  121.  
  122. IfTries n label
  123.         If the current try counter is equal to n, jump to the specified label.
  124.  
  125.  
  126. User Notification
  127.  
  128. Note string
  129.         Displays the string as a status message (if InterSLIP Setup is running).
  130.  
  131. Sound
  132.         Plays the current system beep.
  133.  
  134. Sound name
  135.         Plays the sound resource with the specified name.
  136.  
  137. UserHook n
  138.         Ignored (included for compatibility with AppleTalk Remote Access scripts).
  139.  
  140.  
  141. Pattern Matching
  142.  
  143. MatchRead n
  144.         Wait for n ticks (60ths of a second), watching the incoming data for anything that
  145.         matches a currently active pattern buffer.  If a match is found, jump to the associated
  146.         label.
  147.  
  148. MatchClr
  149.         Clears the pattern buffers.
  150.  
  151. MatchStr n label pattern
  152.         Sets pattern buffer n to the specified pattern (a literal string) associated with
  153.         the specified label.
  154.  
  155. MatchExp n label pattern
  156.         Sets pattern buffer n to the specified pattern (a Unix-style regular expression)
  157.         associated with the specified label.  When a match occurs, the actual data that
  158.         matched the expression can be found in configuration parameter 0.
  159.  
  160.  
  161. IP Parameters
  162.  
  163. SetIP string
  164.         Sets the IP address to the contents of the string.  This is most useful when a regular
  165.         expression pattern has found a match and you want to retrieve the data with something
  166.         similar to SetIP "^0"
  167.  
  168. SetMTU string
  169.         Sets the current MTU size to the contents of the string.
  170.  
  171.  
  172. Gateway Scripts
  173.  
  174. Gateway scripts use the same CCL language as dialing scripts. 
  175.  
  176. To install a gateway script:
  177.  
  178. 1. Place a copy in the Gateway Scripts Folder inside of the InterSLIP Folder. The 
  179.         gateway name appears in the Gateway pop-up menu in the InterSLIP Configuration 
  180.         dialog.
  181.  
  182.  
  183. Sample Gateway Script
  184.  
  185. The following gateway script logs in to a Cisco‚Ñ¢ terminal server and picks up an IP address assigned by the server for that particular session.
  186.  
  187.  
  188. !
  189. ! InterSLIP gateway script for Cisco terminal server
  190. !
  191. ! Label 99 is the general purpose error handler, which beeps
  192. ! and pauses long enough for the user to read the message.
  193. !
  194. ! First, we wait for the user name prompt
  195. !
  196. @originate
  197. note "Waiting for prompt"
  198. matchclr
  199. matchstr 1 1 "Username: "
  200. matchread 50
  201. note "No username prompt"
  202. jump 99
  203. !
  204. ! Now, send the user name and wait for the password prompt
  205. !
  206. @label 1
  207. note "Sending user name"
  208. write "^5\13"
  209. matchclr
  210. matchstr 1 2 "Password:"
  211. matchread 50
  212. note "No password prompt"
  213. jump 99
  214. !
  215. ! Send the password and wait for either the terminal server
  216. ! prompt or an error message
  217. !
  218. @label 2
  219. note "Sending password"
  220. write "^6\13"
  221. matchclr
  222. matchstr 1 4 ">"
  223. matchstr 2 3 "Access denied"
  224. matchread 120
  225. jump 99
  226. !
  227. ! If we got an error message, notify the user and fail
  228. !
  229. @label 3
  230. note "Access Denied"
  231. !
  232. ! General purpose error handler.  Let the message appear,
  233. ! beep, and then pause for a second.
  234. !
  235. @label 99
  236. pause 1
  237. sound
  238. pause 60
  239. exit -1
  240. !
  241. ! If we've successfully logged in, ask for SLIP mode and
  242. ! wait for the response.  If we get anything except
  243. ! "Entering SLIP mode.", assume something went wrong, and fail.
  244. !
  245. @label 4
  246. note "Requesting SLIP"
  247. write "slip\13"
  248. matchclr
  249. matchstr 1 5 "Entering SLIP mode."
  250. matchread 120
  251. note "Cannot invoke SLIP mode"
  252. jump 99
  253. !
  254. ! We've entered SLIP mode, so match on the first thing that
  255. ! looks like an IP address.  If we don't find one, fail.
  256. !
  257. @label 5
  258. matchclr
  259. matchexp 1 6 "[0-9][0-9]*\\.[0-9][0-9]*\\.[0-9][0-9]*\\.[0-9][0-9]*\\."
  260. matchread 120
  261. note "No IP address given"
  262. jump 99
  263. !
  264. ! We've found an IP address, so inform MacTCP of it, and
  265. ! watch for a number (the MTU size).
  266. !
  267. @label 6
  268. setip "^0"
  269. matchclr
  270. matchexp 1 7 "[0-9][0-9]*"
  271. matchread 120
  272. note "No MTU value"
  273. jump 99
  274. !
  275. ! We found the MTU size, so inform MacTCP and exit
  276. ! the script successfully.
  277. !
  278. @label 7
  279. setmtu "^0"
  280. exit 0
  281. !
  282. ! Answer and Hangup modes are currently unused in gateway
  283. ! scripts, but just for future compatibility, exit successfully.
  284. !
  285. @answer
  286. @hangup
  287. exit 0
  288.  
  289.  
  290.